import { createRouter, createWebHistory } from 'vue-router'
import Login from "@/views/Login/index.vue"
import Layout from "@/views/Layout/index.vue"
import Home from "@/views/Home/index.vue"
import Category from '@/views/Category/index.vue'
import SubCategory from '@/views/SubCategory/index.vue'
import Detail from '@/views/Detail/index.vue'
import CartList from '@/views/CartList/index.vue'
import Checkout from '@/views/Checkout/index.vue'
import Pay from '@/views/Pay/index.vue'
import PayBack from '@/views/Pay/PayBack.vue'
import Member from '@/views/Member/index.vue'
import UserInfo from '@/views/Member/components/UserInfo.vue'
import UserOrder from '@/views/Member/components/UserOrder.vue'

const router = createRouter({
  history: createWebHistory(import.meta.env.BASE_URL),
  //找内容切换的区域，如果是页面整体切换，则为一级路由
  //找内容切换的区域，如果是在一级路由页的内部切换，则为二级路由
  routes: [
    {
      path: '/',
      component: Layout,
      children: [
        {
          //默认二级路由，path置空，访问/时，默认home页面也会渲染
          path: "",
          component: Home
        },
        {
          path: "category/:id",
          component: Category
        },

        //更换得页面是Layout下的一个组件，不是category下的一个组件，不需要在category下创建儿子
        //由于二级路由里没有路由出口，是个逻辑上的三级路由，但站的位置是二级路由的出口
        {
          path: "category/sub/:id",
          component: SubCategory
        },

        {
          path: "detail/:id",
          component: Detail
        },
        {
          path: "cartlist",
          component: CartList
        },
        {
          path: "checkout",
          component: Checkout
        },
        {
          path: "pay",
          component: Pay
        },
        {
          path: "paycallback",
          component: PayBack
        },
        {
          path: "member",
          //路由重定向
          redirect: 'member/user',
          component: Member,
          children: [
            {
              path: 'user', //也可把这个写成空字符串，也可达到已进入member就是user的界面
              component: UserInfo
            },
            {
              path: 'order',
              component: UserOrder
            }
          ]
        },
      ]
    },
    {
      path: '/login',
      component: Login
    }
  ],
  //路由行为配置项
  scrollBehavior() {
    return {
      top: 0
    }
  }
})

export default router
